6
תגובות
ביטוי רגולרי לסוגריים
פתח
nocksh
,
ניסיתי לכתוב ביטוי רגולרי שמחפש מילה שבסופה יכולים להיות סוגריים, אבל הם לא חובה.
כלומר, גם "abc" וגם "abc()" יהיו תקינים.
משום מה לא הצלחתי. אשמח לעזרה.
כלומר, גם "abc" וגם "abc()" יהיו תקינים.
משום מה לא הצלחתי. אשמח לעזרה.
6 תשובות
$t ='abc abc() xyz xyz() 123';
preg_match_all("#(\b\w+\b(?:\(\))?)#usUim", $t, $matches);
print_r($matches);
preg_match_all("#(\b\w+\b(?:\(\))?)#usUim", $t, $matches);
print_r($matches);
סוגריים אומרות למנוע הביטויים הרגולריים לשמור לתוך משתנה את מה שנמצא בתוכם בשביל שימוש חוזר.
אני רוצה להשתמש בסוגריים בשביל לסמן "אוסף" או "רצף" שכולו ביחד יכול להופיע אחד או אפס פעמים.
בשביל לסמן את הרצף - השתמש בסוגריים, אבל בגלל שמנוע הביטויים הרגולריים ינסה לזכור את התוכן שלהם,
אבל לי אין צורך בתוכן הזה, השתמשתי באופרטור ?: שפשוט אומר למנוע לא לזכור את מה שבתוך הסוגריים.
אתה יכול לנסות להוריד את ?: והכל יעבוד, אבל התוצאה שתקבל ב preg_match_all תהיה שונה, בגלל שהפעם תקבל בתוך ערך נפרד גם את מה שהמנוע זכר מתוך הסוגריים הפנימיות.
בגלל זה לא הצלחתי, כי לא הכרתי את ?:
תודה!
ד"א מאיפה התמונה? (או שציירת בעצמך?)
ציירתי ב word
וזה לא הסיבה שלא הצחלת. אתה יכול להוריד את האופרטור הזה ועדיין הכל יעבוד